package model.util;

import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;

/**
 * 이건 뭐 어떻게 만들어야 하는거임?ㅠㅠ
 * @author yeongseok
 *
 */
public class MakeThumbnail {
	/**
	 * Tumbnail 제작하는 클래스
	 * @param img BuffredImage 타입으로 변환한 이미지
	 * @param size 썸네일의 사이즈
	 * @param saveFile 파일이 저장될 경로와 파일이름
	 */
	public static void makeThumbnail(BufferedImage img, int size, String saveFile){
		float destWidth = 0.0f;
		float destHeight = 0.0f;
		/**
		 * 이미지의 비율 계산
		 */
		if(img.getWidth()>img.getHeight()){
			destHeight = (float)size * ((float)img.getHeight() / (float)img.getWidth());
			destWidth = size;
		}else if(img.getHeight()>img.getWidth()){
			destWidth = (float)size * ((float)img.getWidth() / (float)img.getHeight());
			destHeight = size;
		}
		/**
		 * 저장될 이미지 생성
		 */
		BufferedImage destImg = new BufferedImage((int)destWidth, (int)destHeight, BufferedImage.TYPE_INT_RGB);
		Graphics2D g = destImg.createGraphics();
		g.drawImage(img, 0, 0, (int)destWidth, (int)destHeight, null);
		File dest = new File(saveFile);
		/**
		 * 생성된 이미지 저장
		 */
		try {
			ImageIO.write(destImg, "png", dest);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
